package com.googlecode.stemwijzer.shared.data;

import java.util.Arrays;
import java.util.Collection;

import com.google.gwt.user.client.ui.Image;
import com.googlecode.stemwijzer.client.bundle.Logo;
import com.googlecode.stemwijzer.client.bundle.Photo;
import com.googlecode.stemwijzer.shared.model.impl.Person;
import com.googlecode.stemwijzer.shared.model.impl.PoliticalParty;

public final class PoliticalPartyData {
	public final static PoliticalParty CDA = new PoliticalParty(
			"Christen Democratisch Appèl", "CDA",
			new Image(Logo.INSTANCE.cda()), new Person("Jan Peter Balkenende",
					new Image(Photo.INSTANCE.balkenende())),
			QuestionnaireData.CDA) {
	};

	public final static PoliticalParty PVDA = new PoliticalParty(
			"Partij van de Arbeid", "PvdA", new Image(Logo.INSTANCE.pvda()),
			new Person("Wouter Bos", new Image(Photo.INSTANCE.bos())),
			QuestionnaireData.PVDA) {
	};

	public final static PoliticalParty CU = new PoliticalParty("ChristenUnie",
			"CU", new Image(Logo.INSTANCE.christenunie()), new Person(
					"André Rouvoet", new Image(Photo.INSTANCE.rouvoet())),
			QuestionnaireData.CU) {
	};

	public final static PoliticalParty VVD = new PoliticalParty(
			"Volkspartij voor Vrijheid en Democratie", "VVD", new Image(
					Logo.INSTANCE.vvd()), new Person("Mark Rutte", new Image(
					Photo.INSTANCE.rutte())), QuestionnaireData.VVD) {
	};

	public final static PoliticalParty D66 = new PoliticalParty(
			"Democraten '66", "D66", new Image(Logo.INSTANCE.d66()),
			new Person("Alexander Pechtold", new Image(Photo.INSTANCE
					.pechtold())), QuestionnaireData.D66) {
	};

	public final static PoliticalParty GL = new PoliticalParty("GroenLinks",
			"GL", new Image(Logo.INSTANCE.groenlinks()), new Person(
					"Femke Halsema", new Image(Photo.INSTANCE.halsema())),
			QuestionnaireData.GL) {
	};

	public final static PoliticalParty PVV = new PoliticalParty(
			"Partij van de Vrijheid", "PVV", new Image(Logo.INSTANCE.pvv()),
			new Person("Geert Wilders", new Image(Photo.INSTANCE.wilders())),
			QuestionnaireData.PVV) {
	};

	public final static PoliticalParty SP = new PoliticalParty(
			"Socialistische Partij", "SP", new Image(Logo.INSTANCE.sp()),
			new Person("Agnes Kant", new Image(Photo.INSTANCE.kant())),
			QuestionnaireData.SP) {
	};

	public final static PoliticalParty SGP = new PoliticalParty(
			"Staatkundig Gereformeerde Partij", "SGP", new Image(Logo.INSTANCE
					.sgp()), new Person("Bas van der Vlies", new Image(
					Photo.INSTANCE.vlies())), QuestionnaireData.SGP) {
	};

	public static Collection<PoliticalParty> getAll() {
		PoliticalParty[] parties = { CDA, PVDA, CU, VVD, D66, GL, PVV, SP, SGP };

		return Arrays.asList(parties);
	}
}
